Component({
  options: {
    multipleSlots: true, // 在组件定义时的选项中启用多slot支持
    styleIsolation: 'apply-shared' //页面样式将影响到组件,但组件中指定的样式不会影响页面
  },
  properties: {
    loading: {
      type: String,
      value: '加载中...',
    },
    duration: {
      type: Number,
      value: 2500
    }
  },
  data: {
    // 弹窗显示控制
    isShow: false,
  },
  /**
   * 组件的方法列表
   * 更新属性和数据的方法与更新页面数据的方法类似
   */
  methods: {
    /*
     * 公有方法
     */
    //隐藏弹框
    hideLoading() {
      this.setData({
        isShow: false,
      })
    },
    //展示弹框
    showLoading() {
      const that = this
      this.setData({
        isShow: true
      })
      setTimeout(() => {
        this.setData({
          isShow: false
        })
      }, that.data.duration)
    },
    //是否在显示
    isShow() {
      return this.data.isShow;
    }
  }
})